//
//  VisitorTableViewController.swift
//  xinlangweibo
//
//  Created by yangshuo on 15/11/23.
//  Copyright © 2015年 yangshuo. All rights reserved.
//

import UIKit
//遵守协议有两种方法
//第一种
//class VisitorTableViewController: UITableViewController, VisitorViewDelegate  {
class VisitorTableViewController: UITableViewController {
    //用户登录标记
    private var userLogin = UserAccountViewModel.sharedUserAccount.userLoad
    //设置访客视图
    var visitorView: VisitorView?
    
    //需要注意,如果房客视图进行懒加载的话,访客视图始终会被创建 ,即使用户已经登录,这样会开辟一块视图地址浪费内存
    //懒加载访客视图
     //lazy var visitorView: VisitorView? = VisitorView()
    //loadView加载视图
    override func loadView() {
        //进行判断,类似三目运算,true运行loadview,false运行后面
        userLogin ? super.loadView() : setupVistiorView()
    }
    //加载视图完毕后
    override func viewDidLoad() {
        super.viewDidLoad()

     //   print(visitorView)
    }

    private func setupVistiorView(){
        
       //因为这句无法判断到底该显示哪个视图,所以在上面设置访客视图的变量 view = VisitorView()
        visitorView = VisitorView()
        view = visitorView
        
        //设置代理(不同视图都需要实现该代理方法)
        visitorView?.delegate = self
                //设置导航器的两个按钮(保留)
//        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: nil)
//          navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登陆", style: .Plain, target: self, action: nil)
        //创建导航栏按钮,(navigationItem不要写UI!),而且是UIBarButton类型的
        //plain是UIBarButton专为手敲代码的属性(除了那些系统自带的UIBarbutton)
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: "visitorViewDidRegister")
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: .Plain, target: self, action: "visitorViewDidLogin")
        
    }
}
//第二种遵守代理协议
    extension VisitorTableViewController: VisitorViewDelegate{
        //实现代理方法
        func visitorViewDidRegister() {
            print("注册")
            
        }
        func visitorViewDidLogin() {
            let vc = OAuhViewController()
            //设置导航控制器
            let nav = UINavigationController(rootViewController: vc)
            //控制器跳转
           presentViewController(nav, animated:true, completion: nil)
            
        }
    }


    

